I would avoid Java agents. As Baxter says because you can't easily use any Java written in the Xpages side, then there' very little point in me using Java Agents - with one exception. If you know LotusScript I'd just stick with that as much as possible. I think it comes down to this - do you want to re-code needed functionality in LotusScript - or do you want to Code your XPages Java in a manner that you can export to jar and then re-import it to Java agents, and keep that in sync etc. I just don't think it's worth it and also I think there could be some memory leaks possible with Java agents. That's my impression at least.
Now here's the one exception. I've NOT done this yet but have heard of this working well for some people.
Create a Java agent that hits a URL. On a schedule. Problem solved.
What URL? Well an "XAgent" of course. :)
Now you have "Scheduled XPages Agents".